Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.03.2011, 20:21
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

jquery и ajax
Всем привет. Столкнулся с такой задачей.
Есть див элемент! По клику на ссылку в него загружается новая html страничка.
Это средствами библиотеки jquery
$("#DIV_ID").load("feeds.html");


Следующий вариант кода я отмел в виду простоты первого.
/*$(document).ready(function(){

$.ajax({
url: "feeds1.html",
cache: false,
beforeSend: function() {
$('#DIV_ID').html('Получаем контент');
},
success: function(html){
$("#DIV_ID").html(html);
}
});
return false;
});*/


Так вот
function hiden() { 
 $("#DIV_ID").fadeOut("slow") 
  }
function show1() { 
$("#DIV_ID").css("display", "none");
 $("#DIV_ID").fadeIn(1000);  }
function i (){
 //$("#content").css("display", "none");
hiden();
$("#DIV_ID").load("feeds.html");
show1();
function i1 (){
hiden();
$("#DIV_ID").load("feeds1.html");

show1();
}
}


Данный код действительно плавно отображает вновь загружаемый контент ,но пывком скрывает старый, то есть не так как надо,а надо плавно как и появление!Элемент див выглядит так
<div id="DIV_ID"  style="display:none"></div>


Как медленно скрывать удаляемый контент и показывать вновь загруженный медленно.?
Ответить с цитированием
  #2 (permalink)  
Старый 27.03.2011, 20:33
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$("#DIV_ID").fadeOut("slow", function() {
     $("#DIV_ID").load("feeds.html", function() {
          $("#DIV_ID").fadeIn(1000);
     });  
});


Возможно дело в том что вы вызываете
$("#DIV_ID").css("display", "none");

до того как объект не был скрыт функцией fadeOut
Для того что выполнить код после того как объект будет скрыт есть так называемые callback-функции.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 27.03.2011, 20:47
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

Большое спасибо, только теперь прийдется либо передавать в параметре ссылку или читать её из обьекта вызова события. Но это пустяк, главное что все теперь работает как нужно!
Хочу спросить,а где лучше всего описано порядок выполнение вызываемых функций, потому как я знаю только о том что событие вызванное элементом являющимся часть массива таких же элементов будет подыматься по вышестоящим и родительским элементам, что его можно остановить на любом элементе. Короче говоря порядок выполнения кода, мануальчик не подскажите?
Ответить с цитированием
  #4 (permalink)  
Старый 27.03.2011, 20:56
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от 0931454574
порядок выполнения кода
Одна за другой.

Просто такие функции как fadeOut к примеру используют setTimeout для плавного смена свойств объекта, а значит пока следующий цикл функции в очереди - успевают выполнится другие инструкции.
Как то так наверное))
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery ajax отправка запроса в htpps vova_b jQuery 19 07.03.2013 18:20
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 14:25
JQuery AJAX, поймать разрыв соединения ilya.tk AJAX и COMET 10 30.12.2010 17:13
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03